#pragma once
/*********************************
*    Operand.h                    *
*	操作数栈结构定义				 *
*********************************/

#include"SymbolTable.h"

#define OPSTACK_SIZE 256

typedef struct Operand
{
	Type type;				//数据类型
	unsigned short r;		//寄存器或存储类型
	int value;				//常量的值
	Symbol *sym;			//关联符号
}Opreand;

void operand_push(Type *type, int r, int value);
void operand_pop();
void operand_swap();
void operand_assign(Operand *opd, int t, int r, int value);
